package com.cdtye.shuoh.service.tgengine;


import com.cdtye.common.webcore.web.AjaxJson;
import com.cdtye.shuoh.domain.tdengine.*;

import java.util.List;
import java.util.Map;


public interface TdEngineService {
    AjaxJson createSuperTable(SuperTableDto superTableDto) throws Exception;


    void createDateBase(String dataBaseName) throws Exception;


    AjaxJson createTable(TableDto tableDto) throws Exception;

    AjaxJson insertData(TableDto tableDto) throws Exception;

//
//    List<Map<String, Object>> selectByTimesTamp(SelectDto selectDto) throws Exception;
//
//    void addColumnForSuperTable(String superTableName, FieldsVo fieldsVo) throws Exception;
//
//    void dropColumnForSuperTable(String superTableName, FieldsVo fieldsVo) throws Exception;
//
//    Long getCountByTimesTamp(SelectDto selectDto) throws Exception;
//
//    void initSTableFrame(String msg) throws Exception;

    List<Map<String, Object>> getLastData(SelectDto selectDto) throws Exception;

    List<Map<String,Object>> getLastNumData(SelectDto selectDto)throws Exception;

    Map<String, Map<String, Object>> getLastDataByTags(TagsSelectDao tagsSelectDao);

    List<Map<String, Object>> getHistoryData(SelectVisualDto selectVisualDto);

    List<Map<String, Object>> getRealtimeData(SelectVisualDto selectVisualDto);

    List<Map<String, Object>> getAggregateData(SelectVisualDto selectVisualDto);

    Map<String,Object> getAllAggregateData(SelectVisualDto selectVisualDto);
}
